package ln.javatest.day14.demo01;
/*
一次写多个字节的方法：
     public void write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。
     public void write(byte[] b, int off, int len) 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
*/

import java.io.FileOutputStream;
import java.io.IOException;

public class Demo02OutputStream {
    public static void main(String[] args) throws IOException {
        //1.创建一个FileOutputStream对象，构造方法中传递写入数据的目的地
        FileOutputStream fos = new FileOutputStream("D:\\桌面\\Java笔记\\1.txt");
        //2.调用FileOutputStream对象中的方法write，把数据写入到文件中
        /*
        public void write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。
        一次写多个字节：
            如果写的第一个字节是正数（0-127），那么显示的时候会查询ASCII表
            如果写的第一个字节是附属，那么第一个字节会和第二个字节，两个字节组成一个中文显示，查询系统默认码表（GBK）
        */
        byte[] bytes = {65,66,67,68,69};
        //byte[] bytes = {-65,-66,-67,68,69};
        /*
         public void write(byte[] b, int off, int len) :把字节数组的一部分写入到文件中
            int off：索引的开始处
            int len: 写几个字节
        */
        //fos.write(bytes); //ABCDE  烤紻E
        fos.write(bytes,2,2); //CD

        /*
        写入字符的方法：可以使用String类中的方法把字符串，转换为字节数组
            byte[] getBytes()  把字符串转换为字节数组
        */
        byte[] bytes1 = "你好".getBytes();
        fos.write(bytes1); //你好
        //3.释放资源
        fos.close();
    }
}
